let arr = ['a','b','c'];

console.log(arr.reverse().map(item=>item.toUpperCase()).join(','));


/* let vue = new Vue();
vue.$data;
vue原型上有
Vue.prototype
vue.__proto___=> Vue.prototype */

class Vue{
    constructor(options){
        this.options = options;
    }
    get $data(){
        return this.options.data;
    }
}
let vue1 = new Vue({data:{age:1}});
let vue2 = new Vue({data:{age:2}});
console.log(Object.getPrototypeOf(vue1)===Object.getPrototypeOf(vue2))
console.log(vue1.$data.age)
console.log(vue2.$data.age)

vm.hasOwnProperty('$data')
false
(Object.getPrototypeOf(vm)).hasOwnProperty('$data')
true

function Person(name){
    this.name = name;
}
Person.prototype.getName = function(){
    return this.name;
}
let p1 = new Person(1);
let p2 = new Person(2);
console.log(p1.getName === p2.getName)
console.log(p1.getName() ,p2.getName())


let obj = {};
Object.defineProperty(obj,'a',{
    value:'a',
    enumerable:true
});
Object.defineProperty(obj,'b',{
    value:'b',
    enumerable:false
});
